$(function () {
    window.page = 1
    var render = function () {
        findProductDetail(function (data) {
            $('tbody').html(template('template', data))
            console.log(data)
            //分页插件的使用
            $('.pagination').bootstrapPaginator({
                bootstrapMajorVersion: 3,
                size: 'small',
                currentPage: data.page,
                numberOfPages: 3,
                totalPages: Math.ceil(data.total / data.size),
                onPageClicked: function (event, originalEvent, type, page) {
                    window.page = page
                    render()
                }
            })
        })
    }
    render()


    // 添加商品,点击添加按钮事件绑定
    $('#addBtn').on('click', function () {
        // show  或 hide
        $('.addProduct').modal('show')
        //获取一级分类并渲染：
        $.ajax({
            url: '/category/queryTopCategoryPaging',
            type: 'get',
            data: {
                page: 1,
                pageSize: 100
            },
            dataType: 'json',
            success: function (data) {
                $('#secondBox').html(template('select', data))
            }
        })
    })
    //文件上传插件的初始化
    initFileUpLoad()


    //增加一种校验方法：给bootstrapValidator增加一种自定义的校验函数
    //校验输入的商品库存是否合法
    $.fn.bootstrapValidator.validators.checkNum = {
        validate: function (validate, $field, options) {
            /**
             * 参数：
             * @param {BootstrapValidator} 表单验证实例对象
             * @param {jQuery} $field jQuery 对象
             * @param {Object} 表单验证配置项值
             * @returns {boolean}
             */
                // 获取字段对应的值：
            var text = $.trim($field.val())
            // 验证不能为空：
            if (!text) {
                return {
                    valid: false,
                    message: '请输入商品库存！'
                }
            }
            // 验证必须是大于零的整数
            if (!/^[1-9]\d*$/.test(text)) {
                return {
                    valid: false,
                    message: '请输入合法商品库存！'
                }
            }
            return true
            /**
             *规则：如果返回true,则校验成功
             * 如果返回false,校验失败，并且自定义提示信息：
             *  valid: false,
             *  message: '信息'
             */
        }
    }
    // 校验上传图片
    $.fn.bootstrapValidator.validators.checkPic = {
        validate: function (validate, $field, options) {
            if (window.picList.length != 3) {
                return {
                    valid: false,
                    message: '请上传三张图片！'
                }
            }
            return true
        }
    }
    $.fn.bootstrapValidator.validators.brand = {
        validate: function (validate, $field, options) {
            var brandId = $('[name="brandId"]').val()
            if (brandId == 0) {
                return {
                    valid: false,
                    message: '请选择一级分类名称！'
                }
            }
            return true
        }
    }
    // 其他表单的校验：
    $('.addProduct form').bootstrapValidator({
        //隐藏的表单也要校验
        excluded: [],
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            brandId: {
                validators: {
                    brand: {}
                }
            },
            proName: {
                validators: {
                    notEmpty: {
                        message: '商品名称不能为空！'
                    }
                }
            },
            proDesc: {
                validators: {
                    notEmpty: {
                        message: '商品描述不能为空！'
                    }
                }
            },
            num: {
                validators: {
                    // 自定校验规则：
                    checkNum: {}
                }
            },
            price: {
                validators: {
                    notEmpty: {
                        message: '商品价格不能为空！'
                    }
                }
            },
            oldPrice: {
                validators: {
                    notEmpty: {
                        message: '商品原价不能为空！'
                    }
                }
            },
            size: {
                validators: {
                    notEmpty: {
                        message: '商品码数不能为空！'
                    }
                }
            },
            pic: {
                validators: {
                    // 自定义校验表单
                    checkPic: {}
                }
            }
        }
    }).on('success.form.bv', function (e) {
        //阻止默认事件
        e.preventDefault()
        var proName = $.trim($('[name="proName"]').val())
        var proDesc = $.trim($('[name="proDesc"]').val())
        var num = $.trim($('[name="num"]').val())
        var price = $.trim($('[name="price"]').val())
        var oldPrice = $.trim($('[name="oldPrice"]').val())
        var size = $.trim($('[name="size"]').val())
        var brandId = $.trim($('[name="brandId"]').val())
        $.ajax({
            url: '/product/addProduct',
            type: 'post',
            data: {
                brandId: brandId,
                proName: proName,
                oldPrice: oldPrice,
                price: price,
                proDesc: proDesc,
                size: size,
                status: 1,
                num: num,
                pic: window.picList
            },
            success: function (data) {
                if (data.success) {
                    /*关闭模态框*/
                    $('.addProduct').modal('hide');
                    /*渲染第一页*/
                    window.page = 1;
                    render();
                } else {
                    alert(data.message)
                }
            }
        })
    })

    // 绑定点击事件
    $('table').on('click', '.jia', function () {
        // 上下架商品
        var id = $(this).attr('data-id')
        console.log(id)
        var status = $(this).hasClass('btn-danger') ? 0 : 1
        console.log('修改后的status:' + status)
        $.ajax({
            url: '/product/queryProductDetailList',
            type: 'get',
            async: false,
            data: {
                page: 1,
                pageSize: 10000000000
            },
            success: function (data) {
                console.log(data)
                console.log('所有数据:')
                console.log(data.rows)
                var datas = data.rows
                window.item
                datas.forEach(function (items, i) {
                    if (items.id == id) {
                        console.log('原来:')
                        console.log(items)
                        window.item = items
                        console.log('item:')
                        console.log(window.item)

                    }
                })
                // item.statu = status
                // console.log(item.statu)
                console.log('现在:')
                console.log(window.item)
                // 把这个更新的放进去

            }
        })
        $.ajax({
            url: '/product/updateProduct',
            type: 'post',
            async: false,
            data: {
                id: id,
                proName: window.item.proName,
                oldPrice: window.item.oldPrice,
                price: window.item.price,
                proDesc: window.item.proDesc,
                size: window.item.size,
                statu: status,
                num: window.item.num,
                brandId: window.item.brandId
            },
            dataType: 'json',
            success: function (data) {
                // window.item.statu = status
                render()
                console.log(window.item)
                // if (data.success) {
                //     console.log(data)
                //     render()
                // }
            }
        })
    })


    //编辑点击事件

    $('table').on('click', '.edit', function () {
        var id = $(this).attr('data-id')
        $('.editProduct').modal('show')
        $.ajax({
            url: '/category/queryTopCategoryPaging',
            type: 'get',
            // async: false,
            data: {
                page: 1,
                pageSize: 100
            },
            dataType: 'json',
            success: function (data) {
                $('#secondBox1').html(template('select', data))
            }
        })
        //获取商品具体信息
        $.ajax({
            url: '/product/queryProductDetailList',
            type: 'get',
            async: false,
            data: {
                page: 1,
                pageSize: 10000000000
            },
            success: function (data) {
                var datas = data.rows
                var item = 0
                datas.forEach(function (items, i) {
                    if (items.id == id) {
                        item = items
                    }
                })
                console.log(item)
                $('.editForm').html(template('editProducts', {detail: item}))
                $('textarea').html(item.proDesc)
            }
        })


    })

    // 提交按钮的点击事件
    // $('.editProduct form').bootstrapValidator({
    //     //隐藏的表单也要校验
    //     excluded: [],
    //     feedbackIcons: {
    //         valid: 'glyphicon glyphicon-ok',
    //         invalid: 'glyphicon glyphicon-remove',
    //         validating: 'glyphicon glyphicon-refresh'
    //     },
    //     fields: {
    //         brandId: {
    //             validators: {
    //                 brand: {}
    //             }
    //         },
    //         proName: {
    //             validators: {
    //                 notEmpty: {
    //                     message: '商品名称不能为空！'
    //                 }
    //             }
    //         },
    //         proDesc: {
    //             validators: {
    //                 notEmpty: {
    //                     message: '商品描述不能为空！'
    //                 }
    //             }
    //         },
    //         num: {
    //             validators: {
    //                 // 自定校验规则：
    //                 checkNum: {}
    //             }
    //         },
    //         price: {
    //             validators: {
    //                 notEmpty: {
    //                     message: '商品价格不能为空！'
    //                 }
    //             }
    //         },
    //         oldPrice: {
    //             validators: {
    //                 notEmpty: {
    //                     message: '商品原价不能为空！'
    //                 }
    //             }
    //         },
    //         size: {
    //             validators: {
    //                 notEmpty: {
    //                     message: '商品码数不能为空！'
    //                 }
    //             }
    //         },
    //         pic: {
    //             validators: {
    //                 // 自定义校验表单
    //                 checkPic: {}
    //             }
    //         }
    //     }
    // })
        // .on('success.form.bv', function (e) {
        //     //阻止默认事件
        //     e.preventDefault()
        //     var proName = $.trim($('[name="proName"]').val())
        //     var proDesc = $.trim($('[name="proDesc"]').val())
        //     var num = $.trim($('[name="num"]').val())
        //     var price = $.trim($('[name="price"]').val())
        //     var oldPrice = $.trim($('[name="oldPrice"]').val())
        //     var size = $.trim($('[name="size"]').val())
        //     var brandId = $.trim($('[name="brandId"]').val())
        //     $.ajax({
        //         url: '/product/addProduct',
        //         type: 'post',
        //         data: {
        //             brandId: brandId,
        //             proName: proName,
        //             oldPrice: oldPrice,
        //             price: price,
        //             proDesc: proDesc,
        //             size: size,
        //             status: 1,
        //             num: num,
        //             pic: window.picList
        //         },
        //         success: function (data) {
        //             if (data.success) {
        //                 /*关闭模态框*/
        //                 $('.addProduct').modal('hide');
        //                 /*渲染第一页*/
        //                 window.page = 1;
        //                 render();
        //             } else {
        //                 alert(data.message)
        //             }
        //         }
        //     })
        // })
})
//查找商品信息
var findProductDetail = function (callback) {
    $.ajax({
        url: '/product/queryProductDetailList',
        type: 'get',
        data: {
            page: window.page || 1,
            pageSize: 3
        },
        dataType: 'json',
        success: function (data) {
            callback && callback(data)
        }
    })
}

//初始化文件上传插件
window.picList = [];
var initFileUpLoad = function () {
    // 初始化上传插件
    $('[name="pic1"]').fileupload({
        // 文件提交到的地址
        // url: '/product/addProductPic',
        //指定后台返回数据类型
        dataType: 'json',
        // 上传成功
        done: function (e, data) {
            if(picList.length < 3){
                /*追加图片*/
                console.log(data)
                $(this).parent().parent().next().append('<img width="100" height="100" src="'+data.result.picAddr+'"/> ');
                picList.push(data.result);//{picName:'',picAddr:''}
                /*上传了三张图片 显示合法的提示*/
                if(picList.length == 3){
                    $('#form').data('bootstrapValidator').updateStatus('pic','VALID');
                }
            }
        }
    })
}